CAD systems are widely used in the design of mechanical or electronic parts or other objects and there are several commercially available systems of that type. A common characteristic of all these systems is that the objects are designed by the user in an interactive mode, that is the body is displayed on a screen as far as it has been designed by the user and the user can enter commands to apply modifications and/or additions to the already existing structure.
For displaying the geometric object under design, typically a cathode ray tube (CRT) or a liquid crystal display (LCD) is used. The object is displayed in an isometric view. Additionally, the displayed object can be illuminated by computer generated light sources to yield realistic three-dimensional images. The commands for supplementing or modifying are entered by suitable input means, preferably a computer mouse, a graphic tablet or a light pen. As an alternative to the perspective representation on the screen, a two-dimensional or cross-sectional view of the object under design can be displayed. Some known CAD systems also allow to rotate the displaced object around different axes so that the user can look at the object from several directions. When the editing process is finished and the object to be designed has assumed its final shape, a corresponding hard copy can be produced by means of a printer or a plotter. Furthermore, a punched tape or a magnetic tape can be produced from the data representing the object, and this tape can then be used directly by a numerically controlled machine tool for manufacturing the desired physical object.
An example of a commercially available 3D-CAD system is the Hewlett-Packard precision engineering solid designer 4.0 which belongs to the class of the so-called "boundary representation" modelers (B-rep modeler) which represent a solid model indirectly through its boundary surfaces. In addition to the geometric information, a B-rep modeler stores additional topological information which describes adjacency relationships between the geometric entities. Other classes of modelers most commonly used are based on the "constructive solid geometric approach" (CSG approach) where a solid model is represented as the result of a sequence of basic operations such as union or intersection applied to simple geometric objects. A more detailed description on the representation schemes, in particular on B-rep models, can be found in Mantyla M. "An introduction to solid modelling", Computer Science Press, Rockville 1988.
The major advantage of the B-rep scheme is the fact that it is well suited for local modifications of the model, most notably the process of blending or chamfering an edge. In this case, a sharp edge of a solid model is replaced by a surface which either connects the adjacent faces smoothly (blending) or in a flat manner (chamfering). Both operations, in particular the blending of edges serve several purposes in mechanical designs, including dissipating stress situations and enhancing fluid flow properties. The reliability of the blending operation is therefore often crucial for the completion of an entire design in a 3D-CAD system.
In the following, several types of blending and chamfering operations will be described in more detail with reference to FIG. 20 and FIG. 21.
FIG. 20a illustrates in an isometric view a geometrical object 2000 which comprises a plurality of faces 2002, 2004, 2006 which define the shape of the object 2000. Between the respective faces 2002 to 2006 of the object 2000, edges 2008 to 2024 are formed. In the following, one edge of the object 2000 is to be blended. In the example described with reference to FIG. 20, the edge to be blended is edge 2008.
There are several approaches which are used f or creating a blend surface between face 2002 and face 2004 of the object 2000. Two of the possible approaches are described now in more detail with reference to FIG. 20b and FIG. 20c. In FIG. 20b the resulting object 2000 is illustrated after the so-called "constant radius rolling ball blend" operation has been applied to the object shown in FIG. 20a. For the sake of clarity, the reference signs defining the unchanged edges of the object are omitted. As can be seen from FIG. 20b, the original edge 2008 has been replaced by a blend surface 2026 which has a first new edge 2028 connecting the blend surface 2026 to the face 2002 and a second new edge 2030 connecting the blend surface 2026 to face 2004. Further, the blend surface 2026 comprises two rounded edges 2032 and 2034. As it is shown in FIG. 20b, the surface area of face 2002 and of face 2004 is smaller when compared with the original surface area disclosed in FIG. 20a of these faces. In other words, the faces 2002 to 2006 shrink.
The blend surface 2026 can be viewed as being generated by a ball moving along the original edge 2008 and touching the adjacent faces 2002 and 2004. The lines at which the ball touches the adjacent faces 2002 and 2004 define the first and the second new edges 2028 and 2030 as shown in FIG. 20b.
With respect to FIG. 20c, a further approach for generating a blend surface is disclosed in more detail. The blend surface 2036 shown in FIG. 20c has been generated by applying a so-called "variable radius rolling ball blend" operation to the object. Other than in FIG. 20b, where the distance between the new first and the new second edges 2028 and 2030 is constant, in FIG. 20c the distance between the respective new formed edges 2038 and 2040 of blend surface 2036 grows from the left-hand side of FIG. 20c towards the right-hand side of FIG. 20c. The blend surface 2036 further comprises the edges 2042 and 2044. These edges 2042 and 2044 are not of the same length.
The blend surface 2036 shown in FIG. 20c can be viewed as being generated by a ball moving along original edge 2008 and touching the adjacent faces 2002 and 2004 wherein during the movement along the edge 2008, the radius of the ball is continuously changed. In other words, FIG. 20c describes a generalization of the basic rolling ball blend operation described with reference to FIG. 20b.
With reference to FIG. 21, different approaches for creating a chamfer surface between adjacent faces of a geometric object are described in more detail. In FIG. 21a, the original object is illustrated in isometric view. The object shown in FIG. 20a is the same as the one shown in FIG. 20a. Therefore, a description of the object shown in FIG. 21a is omitted. It is noted that the same reference signs are used in FIG. 21 as in FIG. 20.
In FIG. 21b the resulting body after applying the "constant distance chamfer" operation to the body disclosed in FIG. 21a is shown. By applying this operation to the original object 2000, a chamfer surface 2102 between faces 2002 and 2004 is created. The chamfer surface is bounded by a first new edge 2104 and a second new edge 2106 and further by the edges 2108 and 2110. The difference between the face 2102 and the face 2026 of FIG. 20b is that the faces 2002 and 2004 are now connected by a plane surface 2102 which becomes clear from the edges 2108 and 2110 which are straight lines rather than rounded lines as shown in FIG. 20b. In other words, the edge 2008 of the original body 2000 shown in FIG. 21a is replaced by a flat surface 2102 connecting two curves which have the same distance from the original edge 2008, wherein the above two curves are the new edges 2104 and 2106. It is noted that in the example shown in FIG. 21b, the chamfer surface 2102 is not applied under a constant angle to the original face 2008. This means that the angle of the edge 2108 between original faces 2002 and 2004 is different from the angle of new edge 2110 between faces 2002 and 2004.
With reference to FIG. 21c, the object is described which achieved as a result of the application of a "constant distance/angle chamfer" operation to the body of FIG. 21a. The original edge 2008 is replaced by a chamfer surface 2112 which is bounded by the first new edge 2116 and a second new edge 2114. Further, the chamfer surface comprises the edges 2118 and 2120. The difference when compared to the body shown in FIG. 21b is that both edges 2108 and 2120 define the same angle between faces 2002 and 2004. In other words, the chamfer surface 2112 which is bounded by curves 2114 and 2116 on the adjacent faces 2002 and 2004 has a constant distance from the original edge 2008 and cuts the face 2102 at a fixed angle along the curve defined by original edge 2008.
The blending or chamfering of an edge of a body or a geometrical object consists essentially of two major steps which are described in the following with reference to FIG. 22 and FIG. 23. These two figures contain two examples of the creation of a blend surface.
In FIG. 22a, the original object 2200 is shown. This object comprises a plurality of faces F1 to F5 wherein the intersections between respective faces define a plurality of edges e1 to e12. The edge to be blended in the example described with reference to FIG. 22 is edge e12 connecting faces F1 and F5.
The first step is described with reference to FIG. 22b and involves the creation of the blend surface geometry. The step of creating the surface geometry of the blend surface F involves the determination of the geometrical parameters of the blend surface F. As can be seen from FIG. 22b, the blend surface F comprises a first edge E14, a second edge E15, a third edge E16 and a fourth edge E17. It is noted that the edges E16 and E17 are rounded thus defining the convexity of the blend surface F. The creation of the surface geometry of the blend surface F further includes the determination of the position at which the blend surface F intersects the original faces of the original body 2200. In FIG. 22b the respective intersections with the existing faces F1 and F5 are formed by portions of the edges e14 and e15 of the blend surface F and the intersections of the original faces F2, F3 and F4 are indicated by reference signs e18, e19 and e20.
In FIG. 22c, the object is shown which is achieved as a result of the second major step for blending the edge e12 which is the integration of the surface geometry into the solid model. By the integration of the surface geometry to the solid model, original edge e12 is replaced by a blend surface F' which is bounded by the edges e14', e15', e16', e18, e19 and e20. The faces of the body 2200 are smaller when compared to FIG. 22a and are indicated by reference sign F1', F2', F3', F4', F5'. Thus the integration of the blend surface into object 2000 results in shrinking faces.
With reference to FIG. 23, a further example of the creation of a blend surface is described. In FIG. 23a the overall object 2300 is shown. This object 2300 comprises a plurality of faces F1, F2, F3, F4, F5 and F6. At the intersection of the respective faces, the respective edges e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 and e16 are defined.
The edge to be blended according to the example shown in FIG. 23 is edg e e15 between original faces F5 and F6. As already described with reference to FIG. 22b, in a first major step the surface geometry of the blend surface F is created as it is shown in FIG. 23b. For the sake of clarity, the reference signs indicating edges which are not influenced by the blending operation are omitted. The blend surface F comprises four edges e17 to e20 wherein edges e19 and e20 are rounded thus defining the convexity of the surface F.
In FIG. 23c the object is shown after the blend surface was integrated into the solid model. As can be seen, original faces F2 and F4 remain unchanged wherein original faces F1, F3, F5 and F6 have been changed which is indicated by using an apostrophe when indicating the changed surface. The faces F1' and F2' grow, whereas faces F6' and F7' shrink.
It is noted that the mathematics of the geometry creation are well understood and that there exists a vast amount of literature concerning the creation and approximation of the surface geometry of the blend surface, in particular for rolling ball blends. For a more detailed description of the above described two major steps for blending or chamfering an edge of a body, reference is made to Vida J., Martin R. R. and Vardy T. "A survey of blending methods that use parametric surfaces", Computer Design, Volume 5, No. 5, 1994, pages 341-355; Woodwark J. P. "Blends in geometrical modelling" in: The mathematics of surface II, Martin, R. R. (ed.) Oxford University Press, 1987, pages 255 to 297.
The problem of integrating the blend or chamfer surface into the solid model has not yet been solved reliably. The problem consists of adjusting the geometry and topology of the model such that a valid manifold solid which is a manufacturable object results. This process might involve removing existing topological elements, such as edges and faces, of the original body as well as creating new ones.
A known method handles a first type of problem in which topologies are "swallowed" by a new face. An essential feature of this known method is that situations can be handled in which adjacent topological elements always shrink which means that a part of the original edge or face is "cut away" by the new face. As to this point, this known method solves the problem of integrating the surface reliably. This known method is however not capable of handling situations in which existing edges or faces grow. In many practical situations, it is not at all sufficient to only handle shrinking elements as it is quite often the case that several existing topological elements have to "grow" to provide a valid solution. This possibility involves connecting topologies which were entirely separated in the original body as well as creating new elements, such as edges or vertices, between them. This situation will in particular occur when several edges which meet at a vertex are to be blended simultaneously since then every one of the new blend faces grows.
For the case of shrinking topologies, the resulting body can be constructed from intersections with existing elements only. The problem of growing topologies is inherently much more complicated due to the dependencies between geometry and topology. Namely, depending on the geometry to be integrated originally disjoint elements such as faces must be joined or new ones such as edges must be created. Current CAD systems fail to solve this problem satisfactory. Certain special cases of growing topologies are implemented but more complicated ones are not handled reliably. This either leads to a failure of the entire blend operation or chamfer operation or to the creation of a body which is actually not manufacturable by a machine.